Tanggal rilis stabil: 27 Mei 2025
Kecuali jika dinyatakan lain, perubahan berikut berlaku untuk rilis saluran stabil Chrome 137 untuk Android, ChromeOS, Linux, macOS, dan Windows.
CSS dan UI
Fungsi if()
CSS
Fungsi if()
CSS memberikan cara ringkas untuk mengekspresikan nilai bersyarat. Fungsi ini
menerima serangkaian pasangan nilai kondisi, yang dibatasi dengan titik koma. Fungsi ini mengevaluasi setiap kondisi secara berurutan dan menampilkan nilai yang terkait dengan kondisi pertama yang benar. Jika tidak ada kondisi yang bernilai benar, fungsi akan menampilkan streaming token kosong. Hal ini memungkinkan Anda mengekspresikan logika kondisional yang kompleks
dengan cara yang sederhana dan ringkas.
Contoh:
div {
color: var(--color);
background-color: if(style(--color: white): black; else: white);
}
.dark {
--color: black;
}
.light {
--color: white;
}
<div class="dark">dark</div>
<div class="light">light</div>
Melacak bug #346977961 | Entri ChromeStatus.com | Spesifikasi
Properti reading-flow
, reading-order
CSS
Properti CSS reading-flow
mengontrol urutan elemen dalam tata letak flex, grid, atau blok yang ditampilkan ke alat aksesibilitas dan difokuskan menggunakan navigasi fokus keyboard tab.
Properti CSS reading-order
memungkinkan penulis mengganti urutan secara manual
dalam penampung alur membaca. Ini adalah bilangan bulat dengan nilai default 0
.
Pelajari properti ini lebih lanjut di Menggunakan alur pembacaan CSS untuk navigasi fokus berurutan yang logis, dan coba beberapa contoh.
Melacak bug #40932006 | Entri ChromeStatus.com | Spesifikasi
Mengabaikan spasi huruf dalam skrip kursif
Fitur ini menambahkan logika untuk mengabaikan setelan spasi huruf untuk skrip kursif seperti yang ditentukan oleh developer, sesuai dengan spesifikasi, untuk memastikan bahwa spasi huruf tidak mengganggu struktur kata dan bertujuan untuk menghasilkan pengalaman pengguna yang lebih baik bagi pengguna yang mengandalkan skrip kursif.
Dengan fitur ini, Chrome memastikan bahwa skrip kursif akan dapat dibaca dan memiliki spasi yang tepat, meskipun font tidak memiliki fitur tipografi lanjutan.
Skrip yang berlaku di Chromium adalah Arab, Hanifi Rohingya, Mandaic, Mongolia, N'Ko, Phags Pa, dan Syriac karena skrip ini dianggap kursif sesuai spesifikasi.
Melacak bug #40618336 | Entri ChromeStatus.com | Spesifikasi
Selection API getComposedRanges
dan direction
Fitur ini mengirimkan dua metode API baru untuk Selection API:
Selection.direction
yang menampilkan arah pilihan sebagainone
,forward
, ataubackward
Selection.getComposedRanges()
yang menampilkan daftar 0 atau 1 komponenStaticRange
StaticRange
yang disusun diizinkan untuk melintasi batas bayangan, yang tidak dapat dilakukan oleh
Range
normal.
Contoh:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
Jika pilihan melintasi batas root bayangan yang tidak diberikan dalam
daftar shadowRoots
, endpoint StaticRange
akan diperluas cakupannya
agar berada di luar hierarki tersebut. Hal ini memastikan Chrome tidak mengekspos hierarki
bayangan yang tidak dikenal.
Melacak bug #40286116 | Entri ChromeStatus.com | Spesifikasi
Dukung offset-path: shape()
Mendukung offset-path: shape()
, untuk memungkinkan penggunaan bentuk responsif guna menetapkan
jalur animasi.
Melacak bug #389713717 | Entri ChromeStatus.com | Spesifikasi
Mendukung atribut transform
di SVGSVGElement
Fitur ini memungkinkan penerapan properti transformasi—seperti
penskalaan, rotasi, translasi, dan kemiringan—langsung ke elemen root <svg>
menggunakan atribut transform
-nya. Peningkatan ini memungkinkan Anda memanipulasi seluruh
sistem koordinat SVG atau kontennya secara keseluruhan, sehingga memberikan fleksibilitas yang lebih besar
dalam membuat grafik vektor yang dinamis, responsif, dan interaktif. Dengan mendukung
atribut ini, elemen <svg>
dapat diubah tanpa memerlukan
elemen wrapper tambahan atau solusi CSS yang kompleks, sehingga menyederhanakan proses
mem-build grafik web yang skalabel dan animasi.
Melacak bug #40313130 | Entri ChromeStatus.com | Spesifikasi
Warna aksen sistem untuk properti accent-color
Tindakan ini memungkinkan Anda menggunakan warna aksen sistem operasi untuk elemen formulir. Dengan
menggunakan properti CSS accent-color
, Anda dapat memastikan bahwa elemen formulir seperti
kotak centang, tombol pilihan, dan status progres secara otomatis mengadopsi warna
aksen yang ditentukan oleh sistem operasi pengguna. Fitur ini telah didukung di macOS
sejak 2021, dan kini didukung di Windows dan ChromeOS.
Melacak bug #40764875 | Entri ChromeStatus.com | Spesifikasi
Mengizinkan <use>
mereferensikan elemen root dokumen eksternal dengan menghapus fragmen.
Fitur ini menyederhanakan elemen <use>
SVG dengan melonggarkan persyaratan
referensi. Sebelum Chrome 137, Anda harus mereferensikan fragmen secara eksplisit
dalam dokumen SVG. Jika tidak ada ID fragmen yang diberikan, <use>
tidak akan dapat
me-resolve target dan tidak ada yang akan dirender atau dirujuk.
Misalnya: elemen <use>
yang mereferensikan file eksternal dengan ID fragmen:
<svg>
<use xlink:href="myshape.svg#icon"></use>
</svg>
Dalam contoh ini, #icon
adalah ID fragmen yang mengarah ke elemen
dengan id="icon"
dalam myshape.svg
.
Tanpa ID fragmen:
<svg>
<use xlink:href="myshape.svg"></use>
</svg>
Dengan fitur ini, menghilangkan fragmen atau hanya memberikan nama file svg eksternal akan otomatis mereferensikan elemen root, sehingga Anda tidak perlu mengubah dokumen yang direferensikan hanya untuk menetapkan ID ke root. Peningkatan ini menyederhanakan proses pengeditan manual ini dan meningkatkan efisiensi.
Melacak bug #40362369 | Entri ChromeStatus.com | Spesifikasi
Jenis warna floating point kanvas
Memperkenalkan kemampuan untuk menggunakan format piksel floating point (bukan titik tetap
8-bit) dengan CanvasRenderingContext2D
,
OffscreenCanvasRenderingContext2D
, dan ImageData
.
Hal ini diperlukan untuk aplikasi presisi tinggi (misalnya, visualisasi medis), konten rentang dinamis tinggi, dan ruang warna kerja linear.
Melacak bug #40245602 | Entri ChromeStatus.com | Spesifikasi
view-transition-name: match-element
Nilai match-element
menghasilkan ID unik berdasarkan identitas elemen
dan mengganti namanya untuk elemen ini. Ini digunakan dalam kasus Aplikasi Web Satu Halaman
saat elemen dipindahkan dan Anda ingin menganimasikannya dengan transisi
tampilan.
Melacak bug #365997248 | Entri ChromeStatus.com | Spesifikasi
Pembayaran
Menyesuaikan jenis error yang ditampilkan untuk pembuatan kredensial WebAuthn payment
: SecurityError
menjadi NotAllowedError
Memperbaiki jenis error yang ditampilkan selama pembuatan kredensial WebAuthn untuk kredensial
payment
. Karena ketidakcocokan spesifikasi historis, membuat kredensial payment
di iframe lintas origin tanpa aktivasi pengguna akan menampilkan
SecurityError
, bukan NotAllowedError
, yang ditampilkan untuk
kredensial non-pembayaran.
Ini adalah perubahan yang dapat menyebabkan gangguan, meskipun bersifat khusus. Kode yang sebelumnya mendeteksi
jenis error yang ditampilkan (misalnya, e instanceof SecurityError
) akan terpengaruh.
Kode yang umumnya menangani error selama pembuatan kredensial (misalnya,
catch (e)
) akan terus berfungsi dengan benar.
Melacak bug #41484826 | Entri ChromeStatus.com | Spesifikasi
Web API
Partisi URL Blob: Pengambilan/Navigasi
Untuk melanjutkan Partisi Penyimpanan, Chrome telah menerapkan partisi akses URL Blob menurut Kunci Penyimpanan (situs tingkat teratas, origin frame, dan boolean has-cross-site-ancestor), kecuali navigasi tingkat teratas yang akan tetap dipartisi hanya menurut origin frame. Perilaku ini mirip dengan perilaku yang diterapkan oleh Firefox dan Safari saat ini, serta menyelaraskan penggunaan URL Blob dengan skema partisi yang digunakan API penyimpanan lain sebagai bagian dari Partisi Penyimpanan. Selain itu, Chrome kini menerapkan noopener pada navigasi tingkat atas yang dimulai perender ke URL Blob yang situs tujuannya bersilangan dengan situs tingkat atas yang melakukan navigasi. Hal ini menyelaraskan Chrome dengan perilaku serupa di Safari, dan spesifikasi yang relevan telah diperbarui untuk mencerminkan perubahan ini.
Melacak bug #40057646 | Entri ChromeStatus.com
Stack panggilan dalam laporan error dari halaman web yang tidak responsif
Fitur ini merekam stack panggilan JavaScript saat halaman web menjadi tidak responsif karena kode JavaScript menjalankan loop tanpa batas atau komputasi yang sangat lama lainnya. Hal ini membantu developer mengidentifikasi penyebab tidak responsifnya aplikasi dan memperbaikinya dengan lebih mudah. Stack panggilan JavaScript disertakan dalam API pelaporan error jika alasannya tidak responsif.
Melacak bug #1445539 | Entri ChromeStatus.com | Spesifikasi
Document-Isolation-Policy
Document-Isolation-Policy
memungkinkan dokumen mengaktifkan crossOriginIsolation
untuk
dirinya sendiri, tanpa harus men-deploy COOP atau COEP, dan apa pun
status crossOriginIsolation
halaman. Kebijakan ini didukung oleh isolasi
proses. Selain itu, subresource lintas asal non-CORS dokumen akan dimuat tanpa kredensial atau harus memiliki header CORP.
Melacak bug #333029146 | Entri ChromeStatus.com | Spesifikasi
Ed25519
dalam kriptografi web
Fitur ini menambahkan dukungan untuk algoritma Curve25519
di Web Cryptography
API, yaitu algoritma tanda tangan Ed25519
Melacak bug #1370697 | Entri ChromeStatus.com | Spesifikasi
Pencegahan pelacakan HSTS
Memitigasi pelacakan pengguna oleh pihak ketiga yang menggunakan cache HSTS.
Fitur ini hanya mengizinkan upgrade HSTS untuk navigasi tingkat teratas dan memblokir upgrade HSTS untuk permintaan sub-resource. Tindakan ini membuat situs pihak ketiga tidak dapat menggunakan cache HSTS untuk melacak pengguna di seluruh web.
Melacak bug #40725781 | Entri ChromeStatus.com
WebAssembly
Integrasi promise JavaScript
JavaScript Promise Integration (JSPI) adalah API yang memungkinkan aplikasi WebAssembly terintegrasi dengan JavaScript Promise.
Hal ini memungkinkan program WebAssembly bertindak sebagai generator Promise, dan memungkinkan program WebAssembly berinteraksi dengan API yang berisi Promise.
Secara khusus, saat aplikasi menggunakan JSPI untuk memanggil API (JavaScript) yang membawa Promise, kode WebAssembly akan ditangguhkan; dan pemanggil asli ke program WebAssembly diberi Promise yang akan dipenuhi saat program WebAssembly akhirnya selesai.
Entri ChromeStatus.com | Spesifikasi
Petunjuk Cabang WebAssembly
Meningkatkan performa kode WebAssembly yang dikompilasi dengan memberi tahu mesin bahwa petunjuk cabang tertentu sangat mungkin mengambil jalur tertentu.
Hal ini memungkinkan mesin membuat keputusan yang lebih baik untuk tata letak kode (meningkatkan hit cache petunjuk) dan alokasi register.
Entri ChromeStatus.com | Spesifikasi
WebGPU
GPUTextureView
untuk binding externalTexture
GPUTextureView
kini diizinkan untuk digunakan untuk binding externalTexture
saat membuat GPUBindGroup
.
Melacak bug #398752857 | Entri ChromeStatus.com | Spesifikasi
Overload copyBufferToBuffer
Metode GPUCommandEncoder
copyBufferToBuffer()
kini menyertakan cara yang lebih sederhana
untuk menyalin seluruh buffering menggunakan overload baru dengan parameter offset dan ukuran
opsional.
Entri ChromeStatus.com | Spesifikasi
Enterprise
Logging dan pelaporan alamat IP
Chrome Enterprise meningkatkan kemampuan pemantauan keamanan dan respons insiden dengan mengumpulkan dan melaporkan alamat IP lokal dan jarak jauh serta mengirim alamat IP tersebut ke Log Investigasi Keamanan (SIT). Selain itu, Chrome Enterprise juga memungkinkan admin mengirim alamat IP ini ke penyedia SIEM pihak pertama dan pihak ketiga melalui konektor Pelaporan Chrome Enterprise.
Fitur ini tersedia untuk pelanggan Chrome Enterprise Core.
Uji coba origin
Atribut pemblokiran rendering kecepatan frame penuh
Menambahkan token pemblokiran render baru full-frame-rate
ke atribut pemblokiran.
Jika perender diblokir dengan token full-frame-rate
, perender akan
berfungsi pada kecepatan frame yang lebih rendah untuk mencadangkan lebih banyak resource untuk pemuatan.
Melacak bug #397832388 | Entri ChromeStatus.com
Menjeda pemutaran media pada iframe yang tidak dirender
Menambahkan kebijakan izin media-playback-while-not-rendered
untuk mengizinkan situs
penyematan menjeda pemutaran media iframe tersemat yang tidak dirender—yaitu, memiliki properti display
yang disetel ke none
. Hal ini akan memungkinkan developer
membuat pengalaman yang lebih mudah digunakan dan juga meningkatkan performa dengan
membiarkan browser menangani pemutaran konten yang tidak terlihat oleh pengguna.
Uji Coba Origin | Melacak bug #351354996 | Entri ChromeStatus.com
Rewriter API
Rewriter API mengubah dan menyusun ulang teks input dengan cara yang diminta, yang didukung oleh model bahasa AI di perangkat. Developer dapat menggunakan API ini untuk menghapus redundansi dalam teks agar sesuai dengan batas kata, menyusun ulang pesan agar sesuai dengan audiens yang dituju atau menjadi lebih konstruktif jika pesan ditemukan menggunakan bahasa negatif, menyusun ulang postingan atau artikel untuk menggunakan kata dan konsep yang lebih sederhana, dan banyak lagi.
Uji Coba Origin | Melacak bug #358214322 | Entri ChromeStatus.com | Spesifikasi
Writer API
Writer API dapat digunakan untuk menulis materi baru berdasarkan perintah tugas menulis, yang didukung oleh model bahasa AI di perangkat. Developer akan dapat menggunakan API ini untuk membuat penjelasan tekstual tentang data terstruktur, menulis postingan tentang produk berdasarkan ulasan atau deskripsi produk, memperluas daftar pro dan kontra menjadi tampilan lengkap, dan lainnya.
Uji Coba Origin | Melacak bug #357967382 | Entri ChromeStatus.com | Spesifikasi